package com.doctor.web.mapper;

import com.doctor.web.domain.OrderDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface OrderMapper {
    /**
     * 添加订单
     * @param orderDO 订单实体
     * @return 影响行数
     */
    int save(OrderDO orderDO);

    /**
     * 删除订单
     * @param id 订单 ID
     * @return 影响行数
     */
    int removeById(@Param("id") Long id);

    /**
     * 修改订单
     * @param orderDO 订单实体
     * @return 影响行数
     */
    int updateById(OrderDO orderDO);

    /**
     * 查询单个订单
     * @param id 订单 ID
     * @return 订单实体
     */
    OrderDO getById(@Param("id") Long id);

    /**
     * 查询所有订单
     * @return 订单列表
     */
    List<OrderDO> list();

    List<OrderDO> getOrdersByUserId(@Param("userId") Long userId);

    List<OrderDO> getOrdersByUserIdAndStatus(@Param("userId") Long userId, @Param("orderStatus") Integer orderStatus);

    int updateOrderStatus(@Param("orderId") Long orderId, @Param("orderStatus") Integer orderStatus);}